package com.uplooking.Proxy2;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Component("myAspect2")

public class MyAspect2 {

      //前置通知方法  
	public void BeforeMethod(JoinPoint joinPoint) {
		 //获取方法名
		String methodName=joinPoint.getSignature().getName();
		//获取方法参数
		Object[] agrs=joinPoint.getArgs();
		System.out.println("前置通知");
		
		System.out.println(methodName+"   "+agrs[0]);
		
	}
	
	   //前置通知方法  
		public void AfterRetundingMethod(JoinPoint joinPoint,Object result) {
			 //获取方法名
			String methodName=joinPoint.getSignature().getName();
			//获取方法参数
			Object[] agrs=joinPoint.getArgs();
			System.out.println("前置通知");
			
			System.out.println(methodName+"   "+agrs[0]);
			
		}
		
		//前置通知方法  
				public void AfterRetundingMethod(JoinPoint joinPoint,Exception e) {
					 //获取方法名
					String methodName=joinPoint.getSignature().getName();
					//获取方法参数
					Object[] agrs=joinPoint.getArgs();
					System.out.println("前置通知");
					
					System.out.println(methodName+"   "+agrs[0]);
					
				}
    
   
    
    
    
    
    
    
    
    
}
